﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using WanDa.Model;

namespace WanDa.IDal
{
    public interface IBaseDal<T> where T : class,new()
    {
        void Add(T model);
        void Del(int id);
        void Upd(T model);
        IQueryable<T> Show(Expression<Func<T, bool>> whereLambda);
        IQueryable<T> ShowPage<type>(int pageSize, int pageIndex, bool isAsc, Expression<Func<T, type>> OrderByLambda, Expression<Func<T, bool>> WhereLambda);
        /// <summary>
        ///  一个业务中有可能涉及到对多张表的操作,那么可以将操作的数据,打上相应的标记,最后调用该方法,将数据一次性提交到数据库中,避免了多次链接数据库。
        /// </summary>
        /// <returns></returns>
        bool SaveChanges();
    }
}
